<?php

namespace app\api\controller\v1;

use app\common\controller\Api;
use think\Db;

/**
 * 安全承诺书接口
 */
class Agreement extends Api
{
    // 无需登录的接口
    protected $noNeedLogin = ['*'];
    
    // 无需权限的接口
    protected $noNeedRight = ['*'];
    
    /**
     * 获取安全承诺书内容
     *
     * @param int $form_id 报名表ID，可选，默认获取最新的
     * @return \think\Response
     */
    public function getAgreement()
    {
        $form_id = $this->request->get('form_id', 0, 'intval');
        
        try {
            // 构建查询条件
            $where = ['status' => 1];
            if ($form_id > 0) {
                $where['id'] = $form_id;
            }
            
            // 查询报名表
            $form = Db::name('apply_form')
                ->table('eb_apply_form')
                ->where($where)
                ->order('id DESC')
                ->find();
                
            if (!$form) {
                return $this->error('未找到安全承诺书');
            }
            
            // 返回安全承诺书内容
            return $this->success('获取成功', [
                'form_id' => $form['id'],
                'title' => $form['title'],
                'agreement_title' => $form['signature_title'],
                'agreement_content' => $form['signature_content'],
                'agreement_footer' => $form['signature_footer']
            ]);
            
        } catch (\Exception $e) {
            return $this->error('获取失败：' . $e->getMessage());
        }
    }
    
    /**
     * 获取安全承诺书列表
     *
     * @return \think\Response
     */
    public function getAgreementList()
    {
        try {
            // 查询所有有效的报名表
            $list = Db::name('apply_form')
                ->table('eb_apply_form')
                ->field('id,title,signature_title')
                ->where('status', 1)
                ->order('id DESC')
                ->select();
                
            if (!$list) {
                return $this->error('未找到安全承诺书');
            }
            
            // 返回安全承诺书列表
            return $this->success('获取成功', $list);
            
        } catch (\Exception $e) {
            return $this->error('获取失败：' . $e->getMessage());
        }
    }
}